package com.dmtt.web.are.service;

import com.dmtt.util.Response;
import com.dmtt.web.are.vo.AreSynchronizedVo;
import com.dmtt.web.are.vo.QueryParamsVo;
import com.dmtt.web.entity.User;

/**
 * @author guzhenbiao
 * @project dmtt
 * @package com.dmtt.web.are.service
 * @className AreSynchronizedService
 * @description TODO
 * @since2022/8/6 12:51
 * @version1.0
 */
public interface AreSynchronizedService {

    /**
     * @Description: 区域锁的列表加分页
     * @param:[currentPage, limit, areName, currAgvName]
     * @return: com.dmtt.util.Response
     * @Author: guzhenbiao
     * @Date: 2022-08-220 08:53:33
     */
    Response queryAreSynchronizedByPage(QueryParamsVo queryParamsVo);

    /**
     * @Description: 区域锁新增
     * @param:[areSynchronizedVo, user]
     * @return: Response
     * @Author: guzhenbiao
     * @Date: 2022-08-218 13:44:05
     */
    Response insertAreSynchronized(AreSynchronizedVo areSynchronizedVo, User user);

    /**
     * @Description: 区域锁编辑
     * @param:[areSynchronizedVo, user]
     * @return: Response
     * @Author: guzhenbiao
     * @Date: 2022-08-218 13:44:09
     */
    Response updateAreSynchronized(AreSynchronizedVo areSynchronizedVo, User user);

    /**
     * @Description: 区域锁禁用
     * @param:[id, user]
     * @return: Response
     * @Author: guzhenbiao
     * @Date: 2022-08-218 13:44:13
     */
    Response disableAreSynchronizedById(QueryParamsVo queryParamsVo, User user);

    /**
     * @Description: 区域锁查看
     * @param:[id]
     * @return: Response
     * @Author: guzhenbiao
     * @Date: 2022-08-218 13:44:16
     */
    Response getAreSynchronizedById(QueryParamsVo queryParamsVo);

    /**
     * @Description: 获取区域锁历史信息列表加分页
     * @param:[currentPage, limit, areName, agvName]
     * @return: com.dmtt.util.Response
     * @Author: guzhenbiao
     * @Date: 2022-08-220 15:40:51
     */
    Response queryAreSynchronizedHistoryByPage(QueryParamsVo queryParamsVo);

    /**
     * @Description: 获取agv供应商集合
     * @param:[]
     * @return: com.dmtt.util.Response
     * @Author: guzhenbiao
     * @Date: 2022-08-227 09:15:27
     */
    Response getAgvCompanyList();
}
